Control system and method for loading actuator arm of rotating storage device

ABSTRACT

A system includes a control module and an estimating module. The control module controls a speed of an actuator arm when the actuator arm moves from a parked position to an edge of a rotating storage medium and generates an arm control signal. The estimating module estimates a force to move the actuator arm based on the arm control signal and the speed, and generates an estimated force signal that adjusts the arm control signal.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.60/889,447 filed on Feb. 12, 2007. This application claims the benefitof JP 2007-147858, filed Jun. 4, 2007. The disclosures of the aboveapplications are incorporated herein by reference in their entirety.

FIELD

The present disclosure relates to rotating storage devices, and moreparticularly to systems and methods for controlling an actuator arm ofrotating storage devices.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent the work is described in thisbackground section, as well as aspects of the description that may nototherwise qualify as prior art at the time of filing, are neitherexpressly nor impliedly admitted as prior art against the presentdisclosure.

Rotating storage systems such as magnetic disk drives and optical discdrives utilize servo control techniques based on back electromotiveforce (BEMF) of a voice coil motor (VCM) or data recorded on a rotatingstorage medium. The information is used to control movement of a headover the rotating storage medium from a current track position to atarget track position during seek operations. A parking area or rampportion for the head may be provided outside the storage medium. Thehead is parked on the ramp portion when not in use. In addition, therotating storage system may include latch mechanisms that secure thehead from impact when parked in the ramp portion.

The latch mechanisms typically include a magnetic latch and/or aninertia latch. The magnetic latch generally prevents the head fromfalling onto the storage medium due to a relatively mild impact. Themagnetic latch is usually composed of a magnetic material and a magnet,in which the magnetic material is arranged on a section of an arm (e.g.,the coil section of a voice coil motor (VCM)) to which the head isattached and the magnet is arranged on a housing of the storage system.Attraction between the magnetic material and the magnet opposes movementof the arm.

The inertia latch generally prevents the head from falling onto thestorage medium due to a strong impact. The inertia latch is usuallycomposed of an inertia arm having two claws—a first claw is typicallyarranged on the housing of the storage system and a second (opposing)claw is typically arranged on a section of the arm to which the head isattached. During an impact, the first claw moves with the inertia ofimpact and engages the second (opposing) claw to oppose movement of thearm.

During operation of a storage device, burst data is generally used todetect the position of the head over the storage medium. However, duringload control, burst data typically cannot be read. Load control refersto the movement of the head from a parked position in the ramp portionto a position over the storage medium. During load control, burst datacannot be read. Burst data is used to detect the position of the headover the storage medium. Therefore, the load control employs speedcontrol. Also, positioning control may be performed by using the BEMF ofthe VCM.

When the head is loaded (or removed from a parked position on a ramp),external forces may act on the arm. The external forces can include africtional force between a head supporting member and the ramp, anelastic reaction force of a wiring member, and/or friction around anaxis of rotation of the storage medium. Additionally, when the rotatingstorage system includes the ramp portion and the latch mechanism, theexternal forces may include an attractive force of the magnet and/or africtional force between the claw of the inertia arm and the opposingclaw. As the external forces increase, higher driving current isrequired to overcome the external forces. This, in turn, increases thevariation in the head moving speed during feedback control. As a result,the head moving speed takes longer to attain a target value.

SUMMARY

In general, in one aspect, this specification discloses a system thatcomprises a control module and an estimating module. The control modulecontrols a speed of an actuator arm when the actuator arm moves from aparked position to an edge of a rotating storage medium and generates anarm control signal. The estimating module estimates a force to move theactuator arm based on the arm control signal and the speed and generatesan estimated force signal that corrects the arm control signal.

In another feature, the control module generates the arm control signalbased on a difference between the speed and a target speed of theactuator arm.

In another feature, the estimating module estimates a first force whenthe actuator arm is in the parked position and a second force when theactuator arm moves at the speed. The first force can be greater than thesecond force.

In another feature, the estimating module comprises first and secondfilters. The first filter generates a first filtered output based on thearm control signal. The second filter generates a second filtered outputbased on the speed of the actuator arm. The estimating module generatesthe estimated force signal based on the first and second filteredoutputs.

In another feature, when the actuator arm is in the parked position, thecontrol and estimating modules generate the arm control and estimatedforce signals based on a first input that moves the actuator arm fromthe parked position. The first input is generated based on aproportional distribution of a second input that loads the actuator armon the rotating storage medium. The first filtered output of the firstfilter is based on the first input and a direct current (DC) componentof a transfer function of the first filter.

In another feature, the first and second filters include infiniteimpulse response (IIR) filters of P^(th) order, in which P is an integergreater than 1.

In another feature, the first filter generates the first filtered outputbased on P samples of each of the arm control signal and the firstfiltered output. The P samples can be taken after the actuator arm movesfrom the parked position.

In another feature, when the actuator arm is in the parked position, thefirst and second filters and the control module receive first, second,and third inputs, respectively. The first, second, and third inputs canbe based on coefficients of the first and second filters.

In another feature, the first, second, and third inputs are based on Psamples of each of the first filtered output, the second filteredoutput, and the arm control signal, respectively. The P samples can betaken after the actuator arm moves from the parked position.

In another feature, a storage device comprises the system and furthercomprises a temperature sensor that senses a temperature of the storagedevice. The first input and the first filtered output can be based onthe temperature. Transfer functions of the first and second filters canbe based on the temperature.

In another feature, a storage device comprises the system and furthercomprises the actuator arm, the storage medium, and a driving module.The driving module generates a driving current based on the arm controlsignal and drives the actuator arm based on the driving current.

In still other features, a method comprises generating an arm controlsignal to control a speed of an actuator arm when the actuator arm movesfrom a parked position to an edge of a storage medium. The methodfurther comprises estimating a force to move the actuator arm based onthe arm control signal and the speed and generating an estimated forcesignal. The method further comprises correcting the arm control signalbased on the estimated force signal.

In another feature, the method further comprises generating the armcontrol signal based on a difference between the speed and a targetspeed of the actuator arm.

In another feature, the method further comprises estimating a firstforce when the actuator arm is in the parked position and estimating asecond force when the actuator arm moves at the speed. The first forcecan be greater than the second force.

In another feature, the method further comprises generating a firstfiltered output based on the arm control signal using a first filter,generating a second filtered output based on the speed of the actuatorarm using a second filter, and generating the estimated force signalbased on the first and second filtered outputs.

In another feature, the method further comprises generating a firstinput based on a proportional distribution of a second input that loadsthe actuator arm on the storage medium and generating the arm controland estimated force signals based on the first input when the actuatorarm is in the parked position. The method further comprises generatingthe first filtered output based on the first input and a direct current(DC) component of a transfer function of the first filter.

In another feature, the first and second filters include infiniteimpulse response (IIR) filters of P^(th) order, in which P is an integergreater than 1.

In another feature, the method further comprises generating P samples ofeach of the arm control signal and the first filtered output after theactuator arm moves from the parked position and generating the firstfiltered output based on the P samples.

In another feature, the method further comprises generating first,second, and third inputs based on coefficients of the first and secondfilters when the actuator arm is in the parked position and generatingthe first filtered signal, the second filtered signal, and the armcontrol signal based on the first, second, and third inputs,respectively.

In another feature, the method further comprises generating P samples ofeach of the first filtered signal, the second filtered signal, and thearm control signal after the actuator arm moves from the parkedposition. The method further comprises generating the first, second, andthird inputs based on the P samples of each of the first filteredsignal, the second filtered signal, and the arm control signal,respectively.

In another feature, the method further comprises sensing a temperatureof a rotating storage device that includes the actuator arm and thestorage medium. The method further comprises generating the first inputand the first filtered output based on the temperature and generatingtransfer functions of the first and second filters based on thetemperature.

In another feature, the method further comprises generating a drivingcurrent based on the arm control signal and driving the actuator armbased on the driving current.

In still other features, a system comprises control means forcontrolling a speed of an actuator arm when the actuator arm moves froma parked position to an edge of a rotating storage medium, wherein thecontrol means generates an arm control signal. The system furthercomprises estimating means for estimating a force to move the actuatorarm based on the arm control signal and the speed, wherein theestimating means generates an estimated force signal that corrects thearm control signal.

In another feature, the control means generates the arm control signalbased on a difference between the speed and a target speed of theactuator arm.

In another feature, the estimating means estimates a first force whenthe actuator arm is in the parked position and a second force when theactuator arm moves at the speed. The first force can be greater than thesecond force.

In another feature, the estimating means comprises first filtering meansfor generating a first filtered output based on the arm control signaland second filtering means for generating a second filtered output basedon the speed of the actuator arm. The estimating means generates theestimated force signal based on the first and second filtered outputs.

In another feature, when the actuator arm is in the parked position, thecontrol and estimating means generate the arm control and estimatedforce signals based on a first input that moves the actuator arm fromthe parked position. The first input can be based on a proportionaldistribution of a second input that loads the actuator arm on thestorage medium. The first filtered output of the first filtering meanscan be based on the first input and a direct current (DC) component of atransfer function of the first filtering means.

In another feature, the first and second filtering means includeinfinite impulse response (IIR) filters of P^(th) order, in which P isan integer greater than 1.

In another feature, the first filtering means generates the firstfiltered output based on P samples of each of the arm control signal andthe first filtered output. The P samples can be taken after the actuatorarm moves from the parked position.

In another feature, when the actuator arm is in the parked position, thefirst and second filtering means and the control means receive first,second, and third inputs, respectively. The first, second, and thirdinputs can be based on coefficients of the first and second filteringmeans.

In another feature, the first, second, and third inputs are based on Psamples of each of the first filtered output, the second filteredoutput, and the arm control signal, respectively. The P samples can betaken after the actuator arm moves from the parked position.

In another feature, a storage device comprises the system and furthercomprises temperature sensing means for sensing a temperature of thestorage device. The first input and the first filtered output can bebased on the temperature. Transfer functions of the first and secondfiltering means can be based on the temperature.

In another feature, a rotating storage device comprises the system andfurther comprises the actuator arm, the storage medium, and drivingmeans for generating a driving current based on the arm control signal,wherein the driving means drives the actuator arm based on the drivingcurrent.

In still other features, a system comprises a control module and anestimating module. The control module controls a speed of an actuatorarm when the actuator arm moves from a parked position to an edge of arotating storage medium and generates an arm control signal. Theestimating module includes first and second filters. The first filtergenerates a first filtered output based on the arm control signal. Thesecond filter that generates a second filtered output based on the speedof the actuator arm. The estimating module estimates a force to move theactuator arm based on the first and second filtered outputs.

In another feature, the estimating module generates an estimated forcesignal based on the first and second filtered outputs, wherein theestimated force signal corrects the arm control signal.

In another feature, the control module generates the arm control signalbased on a difference between the speed and a target speed of theactuator arm.

In another feature, the estimating module estimates a first force whenthe actuator arm is in the parked position and a second force when theactuator arm moves at the speed. The first force can be greater than thesecond force.

In another feature, when the actuator arm is in the parked position, thecontrol and estimating modules generate the arm control and estimatedforce signals based on a first input that moves the actuator arm fromthe parked position. The first input is generated based on aproportional distribution of a second input that loads the actuator armon the rotating storage medium. The first filtered output of the firstfilter can be based on the first input and a direct current (DC)component of a transfer function of the first filter.

In another feature, the first and second filters include infiniteimpulse response (IIR) filters of P^(th) order, in which P is an integergreater than 1.

In another feature, the first filter generates the first filtered outputbased on P samples of each of the arm control signal and the firstfiltered output. The P samples can be taken after the actuator arm movesfrom the parked position.

In another feature, when the actuator arm is in the parked position, thefirst and second filters and the control module receive first, second,and third inputs, respectively. The first, second, and third inputs canbe based on coefficients of the first and second filters.

In another feature, The first, second, and third inputs are based on Psamples of each of the first filtered output, the second filteredoutput, and the arm control signal, respectively. The P samples can betaken after the actuator arm moves from the parked position.

In another feature, a storage device comprises the system and furthercomprises a temperature sensor that senses a temperature of the storagedevice. The first input and the first filtered output can be based onthe temperature. Transfer functions of the first and second filters canbe based on the temperature.

In another feature, a rotating storage device comprises the system andfurther comprises the actuator arm, the rotating storage medium, and adriving module. The driving module generates a driving current based onthe arm control signal and drives the actuator arm based on the drivingcurrent.

In still other features, a method comprises generating an arm controlsignal to control a speed of an actuator arm when the actuator arm movesfrom a parked position to an edge of a rotating storage medium. Themethod further comprises generating a first filtered output based on thearm control signal using a first filter and generating a second filteredoutput based on the speed of the actuator arm using a second filter. Themethod further comprises estimating a force to move the actuator armbased on the first and second filtered outputs.

In another feature, the method further comprises generating an estimatedforce signal based on the first and second filtered outputs andcorrecting the arm control signal based on the estimated force signal.

In another feature, the method further comprises generating the armcontrol signal based on a difference between the speed and a targetspeed of the actuator arm.

In another feature, the method further comprises estimating a firstforce when the actuator arm is in the parked position and estimating asecond force when the actuator arm moves at the speed. The first forcecan be greater than the second force.

In another feature, the method further comprises generating a firstinput based on a proportional distribution of a second input that loadsthe actuator arm on the storage medium and generating the arm controland estimated force signals based on the first input when the actuatorarm is in the parked position. The method further comprises generatingthe first filtered output based on the first input and a direct current(DC) component of a transfer function of the first filter.

In another feature, the method wherein the first and second filtersinclude infinite impulse response (IIR) filters of P^(th) order, inwhich P is an integer greater than 1.

In another feature, the method further comprises generating P samples ofeach of the arm control signal and the first filtered output after theactuator arm moves from the parked position and generating the firstfiltered output based on the P samples.

In another feature, the method further comprises generating first,second, and third inputs based on coefficients of the first and secondfilters when the actuator arm is in the parked position and generatingthe first filtered signal, the second filtered signal, and the armcontrol signal based on the first, second, and third inputs,respectively.

In another feature, the method further comprises generating P samples ofeach of the first filtered signal, the second filtered signal, and thearm control signal after the actuator arm moves from the parkedposition. The method further comprises generating the first, second, andthird inputs based on the P samples of each of the first filteredsignal, the second filtered signal, and the arm control signal,respectively.

In another feature, the method further comprises sensing a temperatureof a rotating storage device that includes the actuator arm and therotating storage medium. The method further comprises generating thefirst input and the first filtered output based on the temperature andgenerating transfer functions of the first and second filters based onthe temperature.

In another feature, the method further comprises generating a drivingcurrent based on the arm control signal and driving the actuator armbased on the driving current.

In still other features, a system comprises control means forcontrolling a speed of an actuator arm when the actuator arm moves froma parked position to an edge of a rotating storage medium, wherein thecontrol means generates an arm control signal. The system furthercomprises estimating means for estimating a force to move the actuatorarm. The estimating means includes first filtering means for generatinga first filtered output based on the arm control signal and secondfiltering means for generating a second filtered output based on thespeed of the actuator arm. The estimating means estimates the forcebased on the first and second filtered outputs.

In another feature, the estimating means generates an estimated forcesignal based on the first and second filtered outputs, wherein theestimated force signal corrects the arm control signal.

In another feature, the control means generates the arm control signalbased on a difference between the speed and a target speed of theactuator arm.

In another feature, the estimating means estimates a first force whenthe actuator arm is in the parked position and a second force when theactuator arm moves at the speed. The first force can be greater than thesecond force.

In another feature, when the actuator arm is in the parked position, thecontrol and estimating means generate the arm control and estimatedforce signals based on a first input that moves the actuator arm fromthe parked position. The first input can be based on a proportionaldistribution of a second input that loads the actuator arm on thestorage medium. The first filtered output of the first filtering meanscan be based on the first input and a direct current (DC) component of atransfer function of the first filtering means.

In another feature, the first and second filtering means includeinfinite impulse response (IIR) filters of P^(th) order, in which P isan integer greater than 1.

In another feature, the first filtering means generates the firstfiltered output based on P samples of each of the arm control signal andthe first filtered output. The P samples can be taken after the actuatorarm moves from the parked position.

In another feature, when the actuator arm is in the parked position, thefirst and second filtering means and the control means receive first,second, and third inputs, respectively. The first, second, and thirdinputs can be based on coefficients of the first and second filteringmeans.

In another feature, the first, second, and third inputs are based on Psamples of each of the first filtered output, the second filteredoutput, and the arm control signal, respectively. The P samples can betaken after the actuator arm moves from the parked position.

In another feature, a storage device comprises the system and furthercomprises temperature sensing means for sensing a temperature of thestorage device. The first input and the first filtered output are basedon the temperature. Transfer functions of the first and second filteringmeans are based on the temperature.

In another feature, a storage device comprises the system and furthercomprises the actuator arm, the storage medium, and driving means forgenerating a driving current based on the arm control signal, whereinthe driving means drives the actuator arm based on the driving current.

In still other features, the systems and methods described above areimplemented by a computer program executed by one or more processors.The computer program can reside on a computer readable medium such asbut not limited to memory, non-volatile data storage and/or othersuitable tangible storage mediums.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description provided hereinafter. Thedetailed description and specific examples, while indicating variousembodiments of the disclosure, are intended for purposes of illustrationonly and are not intended to limit the scope of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will become more fully understood from thedetailed description and the accompanying drawings, wherein:

FIG. 1 is a schematic of a rotating storage system according to oneimplementation of the present disclosure;

FIG. 2 is a functional block diagram of an exemplary control module ofthe storage system according to one implementation of the presentdisclosure;

FIG. 3A is a Bode diagram showing a transfer function (gain) of anestimating module according to one implementation of the presentdisclosure;

FIG. 3B is a Bode diagram showing a transfer function (phase) of theestimating module according to one implementation of the presentdisclosure;

FIG. 4A is a Bode diagram showing a transfer function C_(M)(gain) of amain control module according to one implementation of the presentdisclosure;

FIG. 4B is a Bode diagram showing a transfer function C_(M)(phase) ofthe main control module according to one implementation of the presentdisclosure;

FIG. 5A shows an open-loop characteristic (gain) according to oneimplementation of the present disclosure;

FIG. 5B shows an open-loop characteristic (phase) according to oneimplementation of the present disclosure;

FIG. 6A shows the effect of not using an estimating module, a correctingmodule, and an initial value memory on loading speed V_(L) and drivingcurrent according to one implementation of the present disclosure;

FIG. 6B shows the effect of using an estimating module, a correctingmodule, and an initial value memory on loading speed V_(L) and drivingcurrent according to one implementation of the present disclosure;

FIG. 7A shows loading speed V_(L) and driving current when an initialvalue is set for the estimating module according to one implementationof the present disclosure;

FIG. 7B shows the loading speed V_(L) and driving current when theinitial value is set for the main control module according to oneimplementation of the present disclosure;

FIG. 7C shows the loading speed V_(L) and driving current when initialvalues are set for the estimating module and main control moduleaccording to one implementation of the present disclosure;

FIGS. 8 and 9 are flowcharts of an exemplary method for loading heads ofthe storage system according to one implementation of the presentdisclosure;

FIG. 10 is a functional block diagram of an exemplary computer that usesthe storage system according to one implementation of the presentdisclosure;

FIG. 11A is a functional block diagram of a high definition televisionaccording to one implementation of the present disclosure;

FIG. 11B is a functional block diagram of a vehicle control systemaccording to one implementation of the present disclosure;

FIG. 11C is a functional block diagram of a cellular phone according toone implementation of the present disclosure;

FIG. 11D is a functional block diagram of a set top box according to oneimplementation of the present disclosure; and

FIG. 11E is a functional block diagram of a mobile device according toone implementation of the present disclosure.

DETAILED DESCRIPTION

The following description is merely exemplary in nature and is notintended to limit the disclosure, its application, or uses. For purposesof clarity, the same reference numbers will be used in the drawings toidentify similar elements. As used herein, the phrase at least one of A,B, and C should be construed to mean a logical (A or B or C), using anon-exclusive logical or. ISteps within one or more methods describedbelow may be executed in different order without altering the principlesof the present disclosure.

As used herein, the term module refers to an Application SpecificIntegrated Circuit (ASIC), an electronic circuit, a processor (shared,dedicated, or group) and memory that execute one or more software orfirmware programs, a combinational logic circuit, and/or other suitablecomponents that provide the described functionality.

FIG. 1 illustrates a rotating storage system 10 in accordance with oneimplementation of the present disclosure. The storage system 10 includesa storage medium 12 (such as a disk or a disc), a head 14, an arm 16, adriving section 20, a control module 22, a connecting wire 24, a rampportion 26, a magnetic latch 34, an inertia latch 42, a temperaturesensor 44, and a tab 46.

The storage medium 12 may magnetically or optically record data. Thehead 14 may magnetically or optically write data on the storage medium12 or read data recorded on the storage medium 12.

In one implementation, the driving section 20 rotates the arm 16 aboutan axis 18 in order to move the head 14. In one implementation, avariable driving current input to the driving section 20 determines amoving speed of the arm 16. Accordingly, the driving section 20 can movethe arm 16 to load the head 14 from the ramp portion 26 to the storagemedium 12. Additionally, the driving section 20 moves the arm 16 to atarget position over or outside the storage medium 12.

In one implementation, the driving section 20 comprises a coil sectionand a permanent magnet of a voice coil motor (VCM) (not shown). In oneimplementation, the coil section is provided on a movable constituent,and the permanent magnet is provided on the housing of the VCM. In thisimplementation, when current is applied to the coil section, the drivingsection 20 generates a driving force to move the arm 16.

In one implementation, the control module 22 controls operationsassociated with writing (or recording) onto and reading data from astorage medium. Additionally, (in one implementation) the control module22 controls the moving speed of the arm 16 when the head 14 is loaded.The connecting wire 24 connects the control module 22 to the drivingsection 20 and the head 14.

The ramp portion 26 generally houses the head 14 when the head is movedaway from the storage medium 12. In one implementation, the ramp portion26 prevents the head 14 from impacting the surface of the storage medium12 when the head 14 is not in use. In one implementation, the tab 46(located at a radially outer end of the arm 16 relative to the head 14)guides the arm 16 when the head 14 is parked in the ramp portion 26.

The magnetic latch 34 and the inertia latch 42 improve the impactresistance of the head 14 when the head 14 is parked in the ramp portion26. In one implementation, the magnetic latch 34 includes a magneticmaterial 28, a magnet 30, and a rubber covering 32. In oneimplementation, the magnetic material 28 is arranged on the surface ofthe coil of the driving section 20, and the magnet 30 is arranged on thehousing of the storage system 10. The magnet 30 may include anelectromagnet that can attract the magnetic material 28. The rubbercovering 32 may be made of an elastic material and may cover a portionof the magnet 30 that is in contact with the magnetic material 28.

In one implementation, the inertia latch 42 includes an inertia arm 36having a claw 38 and is arranged on the housing of the storage system10. The claw 38 moves in response to the force of an impact.Additionally, the inertia latch 42 includes another claw 40 that isarranged on the driving section 20 so as to engage the claw 38 during animpact and oppose movement of the arm 16. In the absence of an impact,the claw 38 on the housing does not engage the claw 40 on the drivingsection 20. However, when the head 14 is loaded, the claws 38 and 40 maycontact each other and generate contact resistance.

In one implementation, the temperature sensor 44 measures a temperaturewithin the storage system 10 and outputs corresponding temperature datato the control module 22. Based on the variation in the temperaturedata, (in one implementation) the control module 22 varies a controlvalue that controls the moving speed of the arm 16.

In one implementation, the control module 22 positions the head 14 at atarget position over the storage medium 12 using two control sequences.The first control sequence (also referred to herein as a seek controlsequence) moves the head 14 to an approximate target position usingspeed control. Subsequently, the second control sequence positions thehead 14 at the target position. In one implementation, the secondcontrol sequence positions the head 14 at the target position based onburst data read by the control module 22 from the storage medium 12.

Before a detailed discussion is presented, a brief description ofdrawings is presented. FIG. 2 shows a block diagram of a control modulethat controls the loading and positioning of the arm 16 according to oneimplementation of the present disclosure. FIGS. 3A-5B show Bode diagramsof various transfer functions. FIGS. 6A and 6B show the effects of notusing and using the teachings of the present disclosure on the loadingspeed and driving current. FIGS. 7A-7C show the effects of selectivelysetting initial values for feedback control on the loading speed anddriving current. FIGS. 8 and 9 show flowcharts for a method forcontrolling the loading and positioning of the arm 16. FIG. 10 shows anexemplary computer that uses a rotating storage system according to thepresent disclosure. FIGS. 11A-11E show various exemplary implementationsincorporating the teachings of the present disclosure.

FIG. 2 illustrates one implementation of the control module 22. As shownin FIG. 2, the control module 22 includes a main control module 53, acorrecting module 55, a digital-to-analog converter (DAC) module 57, thedriving section 20, an analog-to-digital converter (ADC) module 63, anestimating module 71, and an initial value memory 81. The main controlmodule 53 generates a manipulated variable U_(M) based on actual andtarget speeds of the arm 16. The estimating module 71 estimates anexternal force W (e.g., an estimated external force Ŵ) to be applied tothe arm 16 when the driving section 20 moves the arm 16. A correctingmodule 73 corrects U_(M) based on Ŵ and generates a correctedmanipulated variable U. The DAC module 57 generates a driving currentbased on U_(M). In one implementation, the driving section 20 drives thearm 16 based on the driving current generated by the DAC module 57.

In operation, the ADC module 63 generates an output proportional to thespeed of the arm 16. An adding module 51 adds the output of the ADCmodule 63 to a target speed V_(ref) and outputs a speed error V_(err).The speed error V_(err) is the difference between the actual movingspeed of the arm 16 and a target speed V_(ref). In one implementation,the target speed V_(ref) is a predetermined target loading speed of thearm 16 that can be stored in the control module 22. Alternatively, thetarget speed V_(ref) may be read from a device external to the rotatingstorage system 10.

More specifically, the main control module 53 controls the moving speedof the arm 16 and has a transfer function C_(M). The main control module53 receives V_(err), performs feedback control based on V_(err), andoutputs U_(M) that corresponds to a moving speed Y(V) of the arm 16. Themain control module 53 may comprise a controller that performs feedbackcontrol to minimize the speed error V_(err). When the main controlmodule 53 detects that the actual moving speed of the arm 16 is notequal to the target speed V_(ref), the main control module 53 graduallyincreases the driving current based on the feedback control until theactual moving speed of the arm 16 reaches V_(ref). For example only, thefeedback control may be performed by using proportional-plus-integral(PI) control, proportional-integral-derivative (PID) control, or phaselead-lag compensation control.

In one implementation, the main control module 53 starts the feedbackcontrol using V_(ref) as the initial value when an initial value I_(VM)is not designated. When the initial value I_(VM) for the load control isdesignated, the main control module 53 does not start the feedbackcontrol using V_(err). Instead, the main control module 53 outputs theinitial value I_(VM) and then starts the feedback control. Additionally,the main control module 53 loads in advance the previous input sequencesof filters of the estimating module 71.

The correcting module 55 comprises an adder that adds the estimatedexternal force Ŵ to U_(M) and outputs U. The DAC module 57 converts Uinto the driving current. The driving section 20 receives the drivingcurrent and moves the arm 16 at the moving speed Y(V). The ADC module 63converts the BEMF generated by the VCM of the driving section 20,amplifies the BEMF by an appropriate gain, and outputs the amplifiedBEMF to the estimating module 71 and adding module 51.

The estimating module 71 includes a first filter 65, a second filter 67,and an adding module 59. The first filter 65 receives a sequence of U,and outputs a sequence of a first filtered output based on Ŵ and U. Thesecond filter 67 receives a sequence of Y(V) measured by the drivingsection 20, and outputs a sequence of a second filtered output based onŴ and Y(V). The estimating module 71 outputs a sum of the first andsecond filtered outputs to the correcting module 73. The correctingmodule 73 generates U by subtracting the sum from U_(M).

When the arm 16 moves, the arm 16 is generally influenced by theexternal force W that comprises various stresses. The stresses mayinclude, for example, the attractive force of the magnetic latch 34, thecontact resistance of the claws of the inertia latch 42, the slidingresistance between the tab 46 and the ramp portion 26, the elasticreaction force of the connecting wire 24 against the arm 16, and thefrictional resistance of the axis 18 against rotation. The estimatingmodule 71 estimates the external force and generates Ŵ based on U andY(V).

The first filter 65 has a transfer function G_(uw). The first filter 65filters U and outputs a manipulated variable Ŵ_(uw), which is notinfluenced by the external force W. The second filter 67 has a transferfunction G_(yw). The second filter 67 filters Y(V) and outputs amanipulated variable Ŵ_(yw), which changes due to the influence of theexternal force W. The adding module 69 adds Ŵ_(yw) and Ŵ_(uw) togenerate Ŵ. In practice, the adding module 69 subtracts the manipulatedvariable Ŵ_(yw) from the manipulated variable Ŵ_(uw) to obtain adifference (variation) between Ŵ_(yw) and Ŵ_(uw). The difference may becaused by the external force W and is output as Ŵ.

The initial value memory 81 stores the initial value I_(VM) for the maincontrol module 53, an initial value I_(V1) for the first filter 65 ofthe estimating module 71, and an initial value I_(V2) for the secondfilter 67. The initial values I_(VM), I_(V1), and I_(V2) may be usedwhen the loading is performed. When the initial values I_(V1) and I_(V2)for the load control are designated, the first and second filters 65, 67initially output the initial values I_(V1) and I_(V2), respectively,before the feedback control begins.

The operation of the estimating module 71 will now describedmathematically. It is assumed that the plant model is a rigid body andthe external force is a DC component. However, the present disclosure isnot limited as such. For example, mechanical resonance or dynamics maybe alternatively utilized as the external force.

A continuous time system model of the input manipulated variable to becontrolled may be expressed by the following state equation:

$\begin{matrix}{{\frac{}{t}\begin{Bmatrix}v \\w\end{Bmatrix}} = {{\begin{bmatrix}0 & k_{v} \\0 & 0\end{bmatrix}\begin{Bmatrix}v \\w\end{Bmatrix}} + \begin{Bmatrix}k_{v} \\0\end{Bmatrix}^{u}}} & {{Equation}\mspace{20mu} 1}\end{matrix}$

where v is the loading speed, w is the external force, u is the inputmanipulated variable, and k_(v) is a conversion constant (gain).

The continuous time system model of the output speed to be controlledmay be expressed by the following output equation:

$\begin{matrix}{y = {\begin{bmatrix}k_{bemf} & 0\end{bmatrix}\begin{Bmatrix}v \\w\end{Bmatrix}}} & {{Equation}\mspace{20mu} 2}\end{matrix}$

where y is the output speed and k_(bemf) is a conversion constant.

Based on the continuous time system models of the input manipulatedvariable and output speed, discrete time system models may be obtainedas follows. The state equation and output equation may be expressed byequations 3 and 4, respectively.

$\begin{matrix}{{X\left\lbrack {k + 1} \right\rbrack} = {{\begin{bmatrix}\Phi & \Gamma_{1} \\0 & 0\end{bmatrix}{X\lbrack k\rbrack}} + {\begin{bmatrix}\Gamma_{2} \\1\end{bmatrix}{U\lbrack k\rbrack}}}} & {{Equation}\mspace{20mu} 3} \\{{Y\lbrack k\rbrack} = {\begin{bmatrix}k_{BEMF} & 0 & 0\end{bmatrix}{X\lbrack K\rbrack}}} & {{Equation}\mspace{20mu} 4}\end{matrix}$

where X is the state variable, Y is the output speed, k is an integer, Uis the input manipulated variable, Φ is a conversion constant (a matrixof two columns and two rows), Γ₁ and Γ₂ are conversion constants (amatrix of two columns and one row), O is a conversion constant (a matrixof one column and two rows), and k_(BEMF) is a conversion constant. Thek^(th) state variable X[k] may be expressed by the following equation:

X[k]=[V[k]W[k]U[k−1]]^(T)  Equation 5

where V is the loading speed, W is the external force, and T is thesampling period.

A method for estimating a current external force can be mathematicallydescribed as follows. Initially, X on the left side of the equation 3 isassumed to be a provisional value of the state variable ( WX), and X onthe right side is assumed to be a value of the state variable (ŴX),which is estimated to be the final target. Then, equation 6 can beobtained as follows:

$\begin{matrix}{{\overset{\_}{X}\left\lbrack {k + 1} \right\rbrack} = {{\begin{bmatrix}\Phi & \Gamma_{1} \\0 & 0\end{bmatrix}{\hat{X}\lbrack k\rbrack}} + {\begin{bmatrix}\Gamma_{2} \\1\end{bmatrix}{U\lbrack k\rbrack}}}} & {{Equation}\mspace{20mu} 6}\end{matrix}$

The state equation of the final value of the state variable {circumflexover (X)}[k] can be expressed by equation 7, and the output equation ofthe final value of the output speed Ŷ[k] can be expressed by equation 8as follows:

$\begin{matrix}{{\overset{\_}{X}\lbrack k\rbrack} = {{\overset{\_}{X}\lbrack k\rbrack} + {\begin{bmatrix}_{e} \\0\end{bmatrix}\left\{ {{Y\lbrack k\rbrack} - {\begin{bmatrix}k_{BEMF} & 0 & 0\end{bmatrix}{\overset{\_}{X}\lbrack K\rbrack}}} \right\}}}} & {{Equation}\mspace{20mu} 7} \\{{\hat{Y}\lbrack k\rbrack} = {\begin{bmatrix}0 & 1 & 0\end{bmatrix}{\hat{X}\lbrack K\rbrack}}} & {{Equation}\mspace{20mu} 8}\end{matrix}$

where X is the state variable, X is the provisional state variable,{circumflex over (X)} is the final state variable, Y is the outputspeed, k is an integer, U is the input manipulated variable, Φ is theconversion constant (a matrix of two columns and two rows), Γ₁ and Γ₂are the conversion constants (a matrix of two columns and one row), O isthe conversion constant (a matrix of one column and two rows), k_(BEMF)is the conversion constant, and l_(e) is the observer gain (a matrix oftwo columns and one row). The final value of the k^(th) state variable{circumflex over (X)}[k] can be expressed by the following equation:

{circumflex over (X)}[k]=[{circumflex over(V)}[k]Ŵ[k]U[k−1]]^(T)  Equation 9

where {circumflex over (V)} is the final loading speed, Ŵ is the finalexternal force, and T is the sampling rate.

The final external force Ŵ can be expressed by using the transferfunction G_(uw) of the first filter 65, the transfer function G_(yw) ofthe second filter 67, the input manipulated variable u, and the outputspeed y by the following equation:

Ŵ=G _(uw) u+G _(yw)  Equation 10

Referring now to FIGS. 3A-5B, exemplary Bode diagrams of varioustransfer functions are shown. FIG. 3A is a Bode diagram of a transferfunction (gain) of the estimating module 71. FIG. 3B is a Bode diagramof a transfer function (phase) of the estimating module 71. In FIG. 3A,an upper portion shows gain relative to frequency in the complex plane.The gain indicates a complex number representation of the magnitude ofthe transfer function. In FIG. 3B, a lower portion shows phase relativeto frequency in the complex plane. The phase indicates the complexnumber representation of the angle of the transfer function. Other Bodediagrams follow this format.

In FIG. 3A, the gain of the transfer function G_(uw) of the first filter65 has a value of −3 dB at 129 Hz. The gain of the transfer functionG_(uw) is 0 dB before the gain decreases to −3 dB. At a frequency of 130Hz or higher, the gain of the transfer function G_(uw) furtherdecreases. The gain of the transfer function G_(yw) of the second filter67 generally increases until a frequency of approximately 130 Hz, atwhich the gain of the transfer function G_(yw) does not increasefurther. At a frequency of 200 Hz or higher, the gain of the transferfunction G_(yw) decreases. Accordingly, the transfer functions G_(uw)and G_(yw) indicate that the estimating module 71 can estimate anexternal force when at a frequency of approximately 130 Hz or lower.

In FIG. 3B, the phase of the transfer function G_(uw) is approximately180 degrees until the frequency reaches approximately 5 Hz. At afrequency of 5 Hz or higher, the angle decreases to 0 degrees. The phaseof the transfer function G_(yw) is approximately 90 degrees until thefrequency reaches approximately 5 Hz. At a frequency of 5 Hz or higher,the angle decreases, and at a frequency of 200 Hz or higher, the anglebecomes 0 degrees or less. However, when the frequency reaches around700 Hz, the angle starts to increase towards 0 degrees.

In FIG. 4A, a Bode diagram of a transfer function C_(M) (gain) of themain control module 53 is shown. In FIG. 4B, a Bode diagram of atransfer function C_(M) (phase) of the main control module 53 is shown.In FIG. 4A, an upper portion shows gain relative to frequency in thecomplex plane. In FIG. 4B, a lower portion shows phase relative tofrequency in the complex plane. FIGS. 4A and 4B show exemplary resultsobtained when the main control module 53 is set such that the pole is 0Hz, the zero is 60 Hz, and a zero-crossing frequency is 200 Hz.

In FIG. 4A, at a frequency of 100 Hz or lower, the gain of the transferfunction C_(M) is higher when the estimating module 71 is used than whenthe estimating module 71 is not used. The transfer function C_(M) isgenerally expressed by the following equation.

$\begin{matrix}{\frac{V_{err}}{V_{ref}} = \frac{1}{1 + {C_{M} \cdot P}}} & {{Equation}\mspace{20mu} 11}\end{matrix}$

As the gain of the transfer function C_(M) increases, the speed errorV_(err) decreases. Accordingly, when the estimating module 71 isincluded in the control module 22, the value of the denominator ishigher, and V_(err) is relatively lower. In other words, the estimatingmodule 71 improves the performance of the servo control.

In FIG. 4B, the phase of the transfer function C_(M) with and withoutthe estimating module 71 is shown. Without the estimating module 71(lower curve), the phase of C_(M) is −90 degrees until the frequencyreaches approximately 2 Hz. At a frequency of 2 Hz or higher, the angleincreases towards 0 degrees. When the estimating module 71 is used(upper curve), the phase of C_(M) is −180 degrees until the frequencyreaches approximately 2 Hz. At a frequency of 2 Hz or higher, the angleincreases towards 0 degrees. Thus, with the estimating module 71, thegain increases, but the phase is degraded.

In FIGS. 5A and 5B, Bode diagrams that compare the open-loopcharacteristic of the main control module 53 when the estimating module71 is used and not used are shown, respectively. When the estimatingmodule 71 is used, as an example, the zero-crossing frequency is 251 Hz,the gain margin is 20.9 dB, and the phase margin is 48.4 degrees.

As shown in FIG. 5B, the phase is approximately −180 degrees until thefrequency reaches approximately 2 Hz. At a frequency of 2 Hz or higher,the angle slowly increases to approximately −130 degrees until thefrequency reaches approximately 250 Hz. At frequencies from 250 Hz toapproximately 1700 Hz, the angle degreases to approximately −180degrees. When the frequency reaches approximately 1700 Hz, the angleincreases to 180 degrees.

When the estimating module 71 is used, the phase is approximately 90degrees until the frequency reaches approximately 2 Hz. At a frequencyof 2 Hz or higher, the angle increases and reaches 180 degrees at thefrequency of 70 Hz. When the frequency reaches 70 Hz, the angledecreases to −180 degrees. When the frequency increases from 70 Hz toapproximately 350 Hz, the angle slowly increases to approximately −130degrees. When the frequency increases from 350 Hz to approximately 1700Hz, the angle decreases to approximately −180 degrees. At a frequency of1700 Hz, the angle increases to 180 degrees.

As indicated by FIG. 5B, the phase is higher when the estimating module71 is not used than when the estimating module 71 is used at thezero-crossing frequency Fx of 251 Hz. A stability margin is determinedbased on a margin between the phase at the zero-crossing frequency and−180 degrees. FIG. 5B indicates that the phase margin is smaller whenthe estimating module 71 is used. Thus, FIGS. 5A and 5B indicate thatusing the estimating module 71 can increase the gain while sacrificingthe phase margin.

Unlike the control module 22, a conventional control modules control theloading of the arm 16 without using an estimating module or a correctionmodule (e.g., estimating module 71 and correcting module 73). Inconventional control modules, the initial values of the loading speedand acceleration are assumed to be zero when the loading begins. The DACoutput U* of the DAC module 57 is measured when the head 14 overcomesthe external force and starts to move. Subsequently, the initial valuesfor the main control module 53 and estimating module 71 are calculatedby using equations 12 to 15, respectively:

U _(M) =C _(M) ·V _(ref)  Equation 12

Ŵ=Ŵ _(uw) =G _(uw) ·U _(M) =G _(uw) ·C _(M) ·V _(ref)(∵Y=0)  Equation 13

where U_(M) is the output of the main control module 53, C_(M) is thetransfer function of the main control module 53, V_(ref) is the targetspeed, Ŵ is the final external force, Ŵ_(uw) is a component of the finalexternal force that is dependent on U, and G_(uw) is the transferfunction of the first filter 65.

Using proportional distribution, we get

$\begin{matrix}{U_{M}^{*} = {\frac{1}{{1 - G_{uw}}_{DC}}U^{*}}} & {{Equation}\mspace{20mu} 14} \\{{\hat{W}}_{uw}^{*} = {\frac{G_{uw}_{DC}}{{1 - G_{uw}}_{DC}}U^{*}}} & {{Equation}\mspace{20mu} 15}\end{matrix}$

where G_(uw)|DC is a direct current (DC) gain of the transfer functionG_(uw) of the first filter 65.

The initial values are set for the estimating module 71 and main controlmodule 53 using the following equations:

Ŵ _(uw) [−N]=Ŵ _(uw)[−(N−1)]= . . . =Ŵ _(uw)[0]=Ŵ _(uw)*  Equation 16

U _(M) [−N]=U _(M)[−(N−1)]= . . . =U _(M)[0]=U _(M)*  Equation 17

Ŵ _(yw) [−N]=Ŵ _(yw)[−(N−1)]= . . . =Ŵ _(yw)[0]=0  Equation 18

where N is a positive integer and −N indicates the N^(th) previous valueobtained by the sampling. For example, (in one implementation) when thefirst filter 65 and second filter 67 each comprise infinite impulseresponse (IIR) filters of P^(th) order, the first to P^(th) previousvalues obtained by sampling are used as the initial value, where P is aninteger greater than 1.

When loading (or load control) begins, the main control module 53 andthe first filter 65 use the initial value U*_(M) of the manipulatedvariable U_(M). U*_(M) is obtained by performing a proportionaldistribution on the value of U_(M) that is sufficient to load the head14. The first filter 65 outputs an initial value Ŵ*_(uw), and the secondfilter 67 outputs zero as an initial value Ŵ*_(uw).

More specifically, (in one implementation) the first filter 65 generatesan output Ŵ_(uw) based on the following values: predetermined number ofvalues of U_(M) that have been supplied to the driving section 20, valueof U_(M) that is to be newly supplied to the driving section 20, andpredetermined number of values of Ŵ_(uw) that the first filter 65 haspreviously output. The initial value of the output Ŵ_(uw) (i.e.,Ŵ{circumflex over (*)}_(uw)) of the first filter 65 is equal to theproduct of U*_(M) and the DC component of the transfer function G_(uw)of the first filter 65.

The number of previous values used as initial values by the first filter65 depends on the order of the filter. For example, Ŵ_(uw) [−1] is avalue of the manipulated variable that is obtained from an (N−1)^(th)load control sample, Ŵ_(uw) [−2] is a value of the manipulated variableobtained from a (N−2)^(th) sample, and so on, where N^(th) sample is thecurrent sample. The samples are taken when the head 14 actually startsmoving and is not yet influenced by the external force W. The firstfilter 65 uses Ŵ_(uw) [−1], Ŵ_(uw) [−2], . . . , and Ŵ_(uw) [−P], as theinitial values I_(V1), where P is the order of the first filter 65.

When the second filter 67 is of the order P, the second filter 67 usesŴ_(yw) [−1], Ŵ_(yw) [−2], . . . , and Ŵ_(yw) [−P], as the initial valuesI_(V2), wherein samples are taken when the head 14 actually startsmoving and has been influenced by the external force W. The order of thefilters determines the number of previous values of U_(M) that are usedas the initial value U*_(M) of the manipulated variable U_(M). Forexample, when the first and second filters 65, 67 are of the order P,U_(M)[−1], U_(M)[−2], . . . , and U_(M)[−P] are used as the initialvalue I_(VM), wherein samples are taken when the head 14 actually startsmoving.

In one implementation, the values I_(V1), I_(V2) and I_(VM) aredetermined by designating, in advance, the order or coefficients of eachfilter. When the initial values I_(V1), I_(V2) and I_(VM) are set, thefirst and second filters 65, 67 and the main control module 53 use theinitial values I_(V1), I_(V2) and I_(VM) instead of using the U, Y(V),and V_(err), respectively.

Referring now to FIGS. 6A and 6B, effects on V_(L) and DAC_(out) of notusing and using the estimating module 71, correcting module 73, andinitial value memory 81 are shown, respectively. As an example, thenumber of samples obtained with the sampling interval T_(S) set at 263μs is plotted along the horizontal axis. V_(L) (i.e., the speed Y(V) ofFIG. 2) and DAC_(out) are plotted along the vertical axis. V_(T)indicates the target speed Vref of FIG. 2.

In FIG. 6A, a sample region A1 shows load control when the released head14 is being attracted by the magnet 30. When the load control begins,V_(L) is zero. V_(L) gradually increases and stops increasing afterreaching approximately 3-5. During this period, the head 14 may not movetowards the outer edge of the storage medium 12. The detected speedincludes measurement errors due to the change in resistance caused bythe heating of the coil. During this period, since the load control isinitiated with no initial values, the head 14 does not move. This periodlasts until the driving current increases to a level at which the head14 is released from the magnetic latch 34.

Once the head 14 starts moving, V_(L) drops to approximately V_(T). Asthe distance between the magnetic material 28 and magnet 30 increases,the attractive force of the magnet gradually decreases. V_(L) decreasesrelatively slowly from approximately V_(T). V_(L) continues to decreaseslowly after the sample region A1 ends. During this period, DAC_(out)gradually increases from the initial value to slightly above 100 andstops increasing after reaching approximately 740 to 760. DAC_(out)keeps increasing and decreasing after the sample region A1 ends untilthe number of samples reaches approximately 120 to 140. Then DAC_(out)starts decreasing. As the head 14 moves, the attractive force of themagnet 30 gradually decreases. The driving current is decreased throughthe feedback control so that V_(L) approaches V_(T). Accordingly, V_(L)is lower than V_(T) during this period.

In a sample region A2, the head 14 is further released from the contactresistance between the claws 38 and 40 of the inertia latch 42. V_(L)gradually decreases to approximately −10 when the number of samples isin approximately 220 to 240. Then V_(L) increases and peaks atapproximately 3-5. Then V_(L) decreases to approximately V_(T) anddecreases very slowly thereafter. Concurrently, DAC_(out) decreases,increases, and then decreases. The last decrease of the output valueDAC_(out) is slow.

In a sample region A3, the head 14 is released from the ramp portion 26and moved so as to be positioned over the storage medium 12. V_(L) dropsto approximately −20 when the number of samples is approximately960-980. Then V_(L) increases to approximately V_(T) and holds steady.Concurrently, DAC_(out) decreases, increases relatively slowly, reaches10 (e.g., slightly above 0), and holds steady.

In FIG. 6B, in sample region A1 a, V_(L) is initially zero when thecontrol begins. Then V_(L) drops to approximately V_(T). As the head 14moves, V_(L) slowly decreases. After the sample region A1 a ends, V_(L)continues to decrease slowly. Concurrently, DAC_(out) decreases to 700from the initial value of approximately 800 to 900. Then DAC_(out)increases slightly and then decreases relatively slowly.

In a sample region A2 a, V_(L) gradually decreases to approximately −4to −5 when the number of samples is approximately 180 to 190. Then V_(L)increases to peak at approximately 0. Then V_(L) drops to approximatelyV_(T) and holds steady. Concurrently, DAC_(out) decreases, increases,and then decreases. The last decrease of DAC_(out) is slow.

In a sample region A3 a, V_(L) drops approximately −14 to −16 when thenumber of samples is approximately 960 to 980. Then V_(L) increases toapproximately V_(T) and holds steady. Concurrently, DAC_(out) decreases,increases relatively slowly, reaches 10 (i.e., slightly above 0), andholds steady.

As can be appreciated, the teachings of the present disclosure reducethe influence of the magnetic force of the magnetic latch 34 and thecontact resistance of the inertia latch 42 when the head 14 is releasedfrom the ramp portion 26 at the start of the load control. Consequently,the variation in V_(L) is reduced, and the time taken by V_(L) to reachV_(T) is decreased.

Referring now to FIGS. 7A to 7C, the effects of setting initial valuesfor the estimating module 71 and/or main control module 53 on V_(L) anddriving current are shown. In FIG. 7A, the initial values are set onlyfor the estimating module 71. In FIG. 7B, the initial value is set onlyfor the main control module 53. In FIG. 7C, the initial values are setfor the estimating module 71 and main control module 53.

In FIG. 7A, V_(L) has a value slightly below 0 when the control isinitiated in a sample region A1 b. Then V_(L) increases, peaks atapproximately 15, and then decreases. During this time, the head 14 doesnot move. This period lasts until the driving current increases to alevel at which the head 14 is released from the magnetic latch 34 afterthe load control is initiated. During this period, in practice, the headdoes not move towards the outer edge of the storage medium 12. Thedetected speed includes measurement errors due to the change inresistance value caused by the heating of the coil. Concurrently,DAC_(out) gradually increases from the initial value of slightly above600, stops increasing at approximately 740 to 760, and keeps increasingand decreasing.

When the head 14 starts moving, V_(L) decreases to approximately V_(T).As the distance between the magnetic material 28 and magnet 30increases, the attractive force of the magnet gradually decreases. V_(L)decreases relatively slowly. After the sample region A1 b ends, V_(L)continues to decrease slowly. After the sample region A1 b ends,DAC_(out) decreases until the number of samples reaches approximately120.

In a sample region A2 b, the head 14 is further released from thecontact resistance between the claws 38 and 40. V_(L) graduallydecreases to approximately −8 when the number of samples isapproximately 120. Then V_(L) increases, peaks at approximately 7 to 8,decreases, reaches approximately V_(T), and holds steady. Concurrently,DAC_(out) decreases, increases, and then decreases. The last decrease ofDAC_(out) is slow.

Accordingly, when the initial values are set only for the estimatingmodule 71, the head 14 does not move within the time period during whichthe head 14 is released from the magnetic latch 34 at the start of theload control. In addition, the variation in V_(L) is not reduced duringthe time period in which the head 14 is released from the influence ofthe contact resistance of the inertia latch 42.

In FIG. 7B, V_(L) has a value slightly below 0 when the control isinitiated in a sample region A1 c. Then V_(L) decreases to approximately−36, increases to approximately V_(T), and holds steady. During theinitial decrease in V_(L), the head 14 is released from the magneticlatch 34 since the driving current is set to a high initial value.During this period, DAC_(out) increases to 1024 or higher, decreases toapproximately 700, and then increases and decreases around this levelmultiple times.

Accordingly, when the initial value is set only for the main controlmodule 53, the head 14 is released from the magnetic latch 34 with ahigh driving current at the beginning of the control. This causes V_(L)to overshoot, which may increase backlash. Thus, the variation in V_(L)is not reduced when the initial value is set only for the main controlmodule 53.

In FIG. 7C, V_(L) has a value slightly below 0 when the control isinitiated in a sample region A1 d. Then V_(L) decreases to approximately−7 to −8, increases to approximately V_(T), and stays there. The timetaken by V_(L) to reach V_(T) in the sample region A1 d is approximatelyhalved relative to the sample regions A1 b and A1 c. Accordingly, whenthe initial values are set for both of the estimating module 71 and maincontrol module 53, the variation in the head moving speed is reduced,and the time taken by V_(L) to reach V_(T) is decreased.

At the start of loading (or load control), the estimating module 71generates the initial value of the estimated external force Ŵ* based onthe manipulated variable U_(M) and moving speed Y(V). Ŵ* at Y(V)=0 isgreater than Ŵ when Y(V) changes from zero to a value sufficient forloading. Ŵ* is input to the correcting module 73. The main controlmodule 53 generates the manipulated variable U when Y(V) changes fromzero to a value sufficient for loading. U at Y(V)=0 is greater thanU_(M) and is input to the estimating module 71. By supplying higherinitial values to the estimating module 71 and main control module 53, asmooth kick-off of the arm 16 is realized. The time taken to generatethe kick-off can be decreased although initial values are not setgreater than or equal to values that move the head 14.

Referring now to FIGS. 8 and 9, a flowchart for a method of loading thearm 16 according to one implementation of the present disclosure isshown. In FIG. 8, the control module 22 determines in step S1 whetherthe head 14 is to be driven depending on whether write or read commandsare received. If the result of step S1 is false, the control module 22repeats the step S1. If the result of step S1 is true, the controlmodule 22 determines in step S2 whether the head 14 is parked in theramp portion 26. If the result of step S2 is false, the control module22 ends the loading operation. If the result of step S2 is true, thecontrol module 22 reads sequences of the initial values I_(VM), I_(V1),I_(V2) from the initial value memory 81 in step S3, and sets the readsequences as initial values of the main control module 53, the firstfilter 65, and the second filter 67, respectively.

In step S4, the control module 22 reads the target speed value V_(ref)that is stored in the storage system 10 or read from an external device.The main control module 53 generates the manipulated variable U_(M)(1)in step S5. The main control module 53 initially outputs the initialvalue of the manipulated variable when the initial value is designated.

The estimating module 71 receives the manipulated variable U_(M)(1).Additionally, the estimating module 71 receives the speed Y(V) (0)detected by the driving section 20, wherein the driving section 20 isdriven using the previous manipulated variable U_(M)(0). Based onU_(M)(1) and Y(V) (0), the estimating module 71 estimates the externalforce in step S6. Additionally, the control module 22 corrects the nextmanipulated variable Ŵ (2) with the estimated external force Ŵ andoutputs the corrected manipulated variable U(2) in step S6. Theestimating module 71 initially outputs the estimated external force Ŵ(1) based on the initial values when the initial values are set.

The DAC module 57 converts U(2) into an analog signal and outputs theanalog signal (i.e., the driving current) to the driving section 20 instep S7. The driving section 20 drives the arm 16 (and the head 14) instep S8. The control module 22 detects the BEMF generated by the VCM ofthe driving section 20, and generates the moving speed (i.e., thedetected speed) of the head 14 in step S9. The ADC module 63 convertsthe detected speed into a digital signal and outputs the digital signalto the estimating module 71 and adding module 51 in step S10. Theestimating module 71 estimates the external force based on the detectedspeed in the step S6. The adding module 51 subtracts the detected speedfrom V_(ref), generates the speed error V_(err), and outputs V_(err) tothe main control module 53 in step S11. The method repeats steps S5through S11.

In FIG. 9, a flowchart shows step 6 of FIG. 8 in detail. The firstfilter 65 having the transfer function G_(uw) processes the correctedmanipulated variable U in step S21 and generates the estimated externalforce Ŵ_(uw) based on the estimated external force W and U. The secondfilter 67 having the transfer function G_(yw) processes the detectedspeed in step S22 and generates the estimated external force Ŵ_(yw)based on the estimated external force Ŵ and the detected speed. Theadding module 69 adds the estimated external forces Ŵ_(uw) and Ŵ_(yw)and generates the estimated external force Ŵ in step S23. The correctingmodule 73 adds the estimated external force Ŵ to the manipulatedvariable U_(M) and generates the corrected manipulated variable U instep S24.

Additionally, when the temperature sensor 44 is provided, the maincontrol module 53 and first filter 65 may vary the initial values U*_(M)of the manipulated variable U_(M) and Ŵ*_(uw) of the manipulatedvariable Ŵ_(uw) based on the temperature, respectively. U*_(M) andŴ*_(uw) may be provided using a table. U*_(M) and Ŵ*_(uw) may beprovided with the value of U_(M) that is sufficient to load the head 14on the storage medium 12. The control module 22 may obtain U_(M) basedon a previously observed value of U_(M) when the head 14 is loaded onthe storage medium 12. Alternatively, the control module 22 may store anaverage value of U_(M), the maximum value of U_(M), the value of U_(M)for each temperature, the maximum value of U_(M) among previous fewvalues, and so on. Additionally, the first and second filters 65, 67 mayvary the transfer functions (G_(uw) and G_(yw)) based on thetemperature. The transfer functions (G_(uw) and G_(yw)) may be providedusing a table.

In some implementations, the control module 22 may comprise amicrocomputer or a microcontroller that includes a program code forperforming load control, speed control, and positioning control duringseek operations. The program may be stored in the microcomputer or themicrocontroller when the storage system 10 is manufactured.Alternatively, the program may be loaded into the microcomputer or themicrocontroller by a computer that uses the storage system 10.

Referring now to FIG. 10, an exemplary computer 900 that uses thestorage system 10 is shown. The computer 900 may comprise a centralprocessing unit (CPU) 1000, read-only memory (ROM) 1010, random accessmemory (RAM) 1020, a host controller 1082, an input/output (I/O)controller 1084, an I/O module 1070, and a communication interface (I/F)1030. The computer 900 may include a hard disk drive (HDD) 1040, acompact disc (CD) drive 1060, and a floppy disk (FD) drive 1050.Additionally, the computer 900 may include a graphic controller 1075 anda display device 1080.

In operation, the CPU 1000 may receive a boot code at startup from theROM 1010 via the host controller 1082 and the I/O controller 1084. TheCPU 1000 may execute programs stored on the HDD 1040 and may read/writedata on the HDD 1040. The CPU 1000 may access RAM 1020 via the hostcontroller 1082 and read/write data on RAM 1020 when executing programs.Additionally, the CPU 1000 may read/write data on a CD 1095 and a FD1090 that are used with the CD drive 1060 and the FD drive 1050,respectively.

The CPU 1000 may communicate with the HDD 1040 and the CD drive 1060 viathe host controller 1082 and the I/O controller 1084. The CPU 1000 maycommunicate with the FD drive 1050 via the host controller 1082, the I/Ocontroller 1084, and the I/O module 1070. The CD drive 1060 maycommunicate with the HDD 1040 via the I/O controller 1084. The FD drivemay communicate with the HDD 1040 and the CD drive 1060 via the I/Omodule 1070 and the I/O controller 1084. Accordingly, programs (e.g.,updates) may be transferred from the CD drive 1060 and/or the FD drive1050 to the HDD 1040. Additionally, the I/O module 1070 may connect thecomputer 900 to various I/O devices (e.g., keyboard, mouse, printer,tape drives, etc.) via serial/parallel ports and/or other suitableports.

The graphic controller 1075 may communicate with the CPU 1000 and RAM1020 via the host controller 1082 and may display data generated by theCPU 1000 on the display 1080. The computer 900 may communicate withother devices on a network via the communication I/F 1030. Thecommunication I/F 1030 may communicate with the CPU 1000 via the I/Ocontroller 1084 and the host controller 1082. Additionally, thecommunication I/F 1030 may communicate with the HDD 1040 via the I/Ocontroller 1084. Accordingly, data (e.g., updates) received from otherdevices on the network may be transferred to the HDD 1040.

A program for controlling the loading and positioning of heads of theHDD 1040 may be supplied to the HDD 1040. The program may be stored onthe FD 1090 or CD 1095 and may be read into RAM 1020. Additionally, theprogram may be received into RAM 1020 from other devices on the networkvia the communication I/F 1030. The program may be transferred from RAM1020 to the HDD 1040 via the I/O controller 1084. A microcomputer or amicrocontroller included in a control apparatus (e.g., the controlmodule 22) of the HDD 1040 may execute the program to control theloading and positioning of the heads of the HDD 1040. The microcomputeror a microcontroller may implement the control module 22 when executingthe program.

Referring now to FIGS. 11A-11E, various exemplary implementationsincorporating the teachings of the present disclosure are shown.Referring now to FIG. 11A, the teachings of the disclosure can beimplemented in a storage device 1142 of a high definition television(HDTV) 1137. The HDTV 1137 includes an HDTV control module 1138, adisplay 1139, a power supply 1140, memory 1141, the storage device 1142,a network interface 1143, and an external interface 1145. If the networkinterface 1143 includes a wireless local area network interface, anantenna (not shown) may be included.

The HDTV 1137 can receive input signals from the network interface 1143and/or the external interface 1145, which can send and receive data viacable, broadband Internet, and/or satellite. The HDTV control module1138 may process the input signals, including encoding, decoding,filtering, and/or formatting, and generate output signals. The outputsignals may be communicated to one or more of the display 1139, memory1141, the storage device 1142, the network interface 1143, and theexternal interface 1145.

Memory 1141 may include random access memory (RAM) and/or nonvolatilememory. Nonvolatile memory may include any suitable type ofsemiconductor or solid-state memory, such as flash memory (includingNAND and NOR flash memory), phase change memory, magnetic RAM, andmulti-state memory (in which each memory cell has more than two states).The storage device 1142 may include an optical storage drive, such as aDVD drive, and/or a hard storage medium drive (HDD). The HDTV controlmodule 1138 communicates externally via the network interface 1143and/or the external interface 1145. The power supply 1140 provides powerto the components of the HDTV 1137.

Referring now to FIG. 11B, the teachings of the disclosure may beimplemented in a storage device 1150 of a vehicle 1146. The vehicle 1146may include a vehicle control system 1147, a power supply 1148, memory1149, the storage device 1150, and a network interface 1152. If thenetwork interface 1152 includes a wireless local area network interface,an antenna (not shown) may be included. The vehicle control system 1147may be a powertrain control system, a body control system, anentertainment control system, an anti-lock braking system (ABS), anavigation system, a telematics system, a lane departure system, anadaptive cruise control system, etc.

The vehicle control system 1147 may communicate with one or more sensors1154 and generate one or more output signals 1156. The sensors 1154 mayinclude temperature sensors, acceleration sensors, pressure sensors,rotational sensors, airflow sensors, etc. The output signals 1156 maycontrol engine operating parameters, transmission operating parameters,suspension parameters, braking parameters, etc.

The power supply 1148 provides power to the components of the vehicle1146. The vehicle control system 1147 may store data in memory 1149and/or the storage device 1150. Memory 1149 may include random accessmemory (RAM) and/or nonvolatile memory. Nonvolatile memory may includeany suitable type of semiconductor or solid-state memory, such as flashmemory (including NAND and NOR flash memory), phase change memory,magnetic RAM, and multi-state memory, in which each memory cell has morethan two states. The storage device 1150 may include an optical storagedrive, such as a DVD drive, and/or a hard storage medium drive (HDD).The vehicle control system 1147 may communicate externally using thenetwork interface 1152.

Referring now to FIG. 11C, the teachings of the disclosure can beimplemented in a storage device 1166 of a cellular phone 1158. In oneimplementation, the cellular phone 1158 includes a phone control module1160, a power supply 1162, memory 1164, the storage device 1166, and acellular network interface 1167. The cellular phone 1158 may include anetwork interface 1168, a microphone 1170, an audio output 1172 such asa speaker and/or output jack, a display 1174, and a user input device1176 such as a keypad and/or pointing device. If the network interface1168 includes a wireless local area network interface, an antenna (notshown) may be included.

The phone control module 1160 may receive input signals from thecellular network interface 1167, the network interface 1168, themicrophone 1170, and/or the user input device 1176. The phone controlmodule 1160 may process signals, including encoding, decoding,filtering, and/or formatting, and generate output signals. The outputsignals may be communicated to one or more of memory 1164, the storagedevice 1166, the cellular network interface 1167, the network interface1168, and the audio output 1172.

Memory 1164 may include random access memory (RAM) and/or nonvolatilememory. Nonvolatile memory may include any suitable type ofsemiconductor or solid-state memory, such as flash memory (includingNAND and NOR flash memory), phase change memory, magnetic RAM, andmulti-state memory (in which each memory cell has more than two states).The storage device 1166 may include an optical storage drive, such as aDVD drive, and/or a hard storage medium drive (HDD). The power supply1162 provides power to the components of the cellular phone 1158.

Referring now to FIG. 11D, the teachings of the disclosure can beimplemented in a storage device 1184 of a set top box 1178. In oneimplementation, the set top box 1178 includes a set top control module1180, a display 1181, a power supply 1182, memory 1183, the storagedevice 1184, and a network interface 1185. If the network interface 1185includes a wireless local area network interface, an antenna (not shown)may be included.

The set top control module 1180 may receive input signals from thenetwork interface 1185 and an external interface 1187, which can sendand receive data via cable, broadband Internet, and/or satellite. Theset top control module 1180 may process signals, including encoding,decoding, filtering, and/or formatting, and generate output signals. Theoutput signals may include audio and/or video signals in standard and/orhigh definition formats. The output signals may be communicated to thenetwork interface 1185 and/or to the display 1181. The display 1181 mayinclude a television, a projector, and/or a monitor.

The power supply 1182 provides power to the components of the set topbox 1178. Memory 1183 may include random access memory (RAM) and/ornonvolatile memory. Nonvolatile memory may include any suitable type ofsemiconductor or solid-state memory, such as flash memory (includingNAND and NOR flash memory), phase change memory, magnetic RAM, andmulti-state memory (in which each memory cell has more than two states).The storage device 1184 may include an optical storage drive, such as aDVD drive, and/or a hard storage medium drive (HDD).

Referring now to FIG. 11E, the teachings of the disclosure can beimplemented in a storage device 1193 of a mobile device 1189. The mobiledevice 1189 may include a mobile device control module 1190, a powersupply 1191, memory 1192, the storage device 1193, a network interface1194, and an external interface 1199. If the network interface 1194includes a wireless local area network interface, an antenna (not shown)may be included.

The mobile device control module 1190 may receive input signals from thenetwork interface 1194 and/or the external interface 1199. The externalinterface 1199 may include USB, infrared, and/or Ethernet. The inputsignals may include compressed audio and/or video, and may be compliantwith the MP3 format. Additionally, the mobile device control module 1190may receive input from a user input 1196 such as a keypad, touchpad, orindividual buttons. The mobile device control module 1190 may processinput signals, including encoding, decoding, filtering, and/orformatting, and generate output signals.

The mobile device control module 1190 may output audio signals to anaudio output 1197 and video signals to a display 1198. The audio output1197 may include a speaker and/or an output jack. The display 1198 maypresent a graphical user interface, which may include menus, icons, etc.The power supply 1191 provides power to the components of the mobiledevice 1189. Memory 1192 may include random access memory (RAM) and/ornonvolatile memory.

Nonvolatile memory may include any suitable type of semiconductor orsolid-state memory, such as flash memory (including NAND and NOR flashmemory), phase change memory, magnetic RAM, and multi-state memory (inwhich each memory cell has more than two states). The storage device1193 may include an optical storage drive, such as a DVD drive, and/or ahard storage medium drive (HDD). The mobile device may include apersonal digital assistant, a media player, a laptop computer, a gamingconsole, or other mobile computing device.

Those skilled in the art can now appreciate from the foregoingdescription that the broad teachings of the disclosure can beimplemented in a variety of forms. Therefore, while this disclosureincludes particular examples, the true scope of the disclosure shouldnot be so limited since other modifications will become apparent to theskilled practitioner upon a study of the drawings, the specification,and the following claims.

1. A system comprising: a control module that controls a speed of anactuator arm when the actuator arm moves from a parked position to anedge of a rotating storage medium and that generates an arm controlsignal; and an estimating module that estimates a force to move theactuator arm based on the arm control signal and the speed and thatgenerates an estimated force signal that corrects the arm controlsignal.
 2. The system of claim 1 wherein the control module generatesthe arm control signal based on a difference between the speed and atarget speed of the actuator arm.
 3. The system of claim 1 wherein theestimating module estimates a first force when the actuator arm is inthe parked position and a second force when the actuator arm moves atthe speed, where the first force is greater than the second force. 4.The system of claim 1 wherein the estimating module comprises: a firstfilter that generates a first filtered output based on the arm controlsignal; and a second filter that generates a second filtered outputbased on the speed of the actuator arm, wherein the estimating modulegenerates the estimated force signal based on the first and secondfiltered outputs.
 5. The system of claim 4 wherein when the actuator armis in the parked position, the control and estimating modules generatethe arm control and estimated force signals, respectively, based on afirst input that moves the actuator arm from the parked position,wherein the first input is generated based on a proportionaldistribution of a second input that loads the actuator arm on therotating storage medium.
 6. The system of claim 5 wherein the firstfiltered output of the first filter is based on the first input and adirect current (DC) component of a transfer function of the firstfilter.
 7. The system of claim 4 wherein the first and second filtersinclude infinite impulse response (IIR) filters of P^(th) order, where Pis an integer greater than
 1. 8. The system of claim 7 wherein the firstfilter generates the first filtered output based on P samples of each ofthe arm control signal and the first filtered output, wherein the Psamples are taken after the actuator arm moves from the parked position.9. The system of claim 7 wherein when the actuator arm is in the parkedposition, the first and second filters and the control module receivefirst, second, and third inputs, respectively, wherein the first,second, and third inputs are based on coefficients of the first andsecond filters.
 10. The system of claim 9 wherein the first, second, andthird inputs are based on P samples of each of the first filteredoutput, the second filtered output, and the arm control signal,respectively, wherein the P samples are taken after the actuator armmoves from the parked position.
 11. A rotating storage device comprisingthe system of claim 6 and further comprising a temperature sensor thatsenses a temperature of the rotating storage device, wherein the firstinput and the first filtered output are based on the temperature, andwherein transfer functions of the first and second filters are based onthe temperature.
 12. A rotating storage device comprising the system ofclaim 1 and further comprising the actuator arm, the rotating storagemedium, and a driving module that generates a driving current based onthe arm control signal and that drives the actuator arm based on thedriving current.
 13. A method comprising: generating an arm controlsignal to control a speed of an actuator arm when the actuator arm movesfrom a parked position to an edge of a rotating storage medium;estimating a force to move the actuator arm based on the arm controlsignal and the speed; generating an estimated force signal; andcorrecting the arm control signal based on the estimated force signal.14. The method of claim 13 further comprising generating the arm controlsignal based on a difference between the speed and a target speed of theactuator arm.
 15. The method of claim 13 further comprising estimating afirst force when the actuator arm is in the parked position andestimating a second force when the actuator arm moves at the speed,where the first force is greater than the second force.
 16. The methodof claim 13 further comprising: generating a first filtered output basedon the arm control signal using a first filter; generating a secondfiltered output based on the speed of the actuator arm using a secondfilter; and generating the estimated force signal based on the first andsecond filtered outputs.
 17. The method of claim 16 further comprising:generating a first input based on a proportional distribution of asecond input that loads the actuator arm on the rotating storage medium;and generating the arm control and estimated force signals based on thefirst input when the actuator arm is in the parked position.
 18. Themethod of claim 17 further comprising generating the first filteredoutput based on the first input and a direct current (DC) component of atransfer function of the first filter.
 19. The method of claim 16wherein the first and second filters include infinite impulse response(IIR) filters of P^(th) order, where P is an integer greater than
 1. 20.The method of claim 19 further comprising: generating P samples of eachof the arm control signal and the first filtered output after theactuator arm moves from the parked position; and generating the firstfiltered output based on the P samples.
 21. The method of claim 19further comprising: generating first, second, and third inputs based oncoefficients of the first and second filters when the actuator arm is inthe parked position; and generating the first filtered signal, thesecond filtered signal, and the arm control signal based on the first,second, and third inputs, respectively.
 22. The method of claim 21further comprising: generating P samples of each of the first filteredsignal, the second filtered signal, and the arm control signal after theactuator arm moves from the parked position; and generating the first,second, and third inputs based on the P samples of each of the firstfiltered signal, the second filtered signal, and the arm control signal,respectively.
 23. The method of claim 18 further comprising: sensing atemperature of a rotating storage device that includes the actuator armand the rotating storage medium; generating the first input and thefirst filtered output based on the temperature; and generating transferfunctions of the first and second filters based on the temperature. 24.The method of claim 13 further comprising generating a driving currentbased on the arm control signal and driving the actuator arm based onthe driving current.
 25. A system comprising: a control module thatcontrols a speed of an actuator arm when the actuator arm moves from aparked position to an edge of a rotating storage medium and thatgenerates an arm control signal; and an estimating module that includes:a first filter that generates a first filtered output based on the armcontrol signal; and a second filter that generates a second filteredoutput based on the speed of the actuator arm, wherein the estimatingmodule estimates a force to move the actuator arm based on the first andsecond filtered outputs.
 26. The system of claim 25 wherein theestimating module generates an estimated force signal based on the firstand second filtered outputs, wherein the estimated force signal correctsthe arm control signal.
 27. The system of claim 25 wherein the controlmodule generates the arm control signal based on a difference betweenthe speed and a target speed of the actuator arm.
 28. The system ofclaim 25 wherein the estimating module estimates a first force when theactuator arm is in the parked position and a second force when theactuator arm moves at the speed, where the first force is greater thanthe second force.
 29. The system of claim 26 wherein when the actuatorarm is in the parked position, the control and estimating modulesgenerate the arm control and estimated force signals based on a firstinput that moves the actuator arm from the parked position, wherein thefirst input is generated based on a proportional distribution of asecond input that loads the actuator arm on the rotating storage medium.30. The system of claim 29 wherein the first filtered output of thefirst filter is based on the first input and a direct current (DC)component of a transfer function of the first filter.
 31. The system ofclaim 25 wherein the first and second filters include infinite impulseresponse (IIR) filters of P^(th) order, where P is an integer greaterthan
 1. 32. The system of claim 31 wherein the first filter generatesthe first filtered output based on P samples of each of the arm controlsignal and the first filtered output, wherein the P samples are takenafter the actuator arm moves from the parked position.
 33. The system ofclaim 31 wherein when the actuator arm is in the parked position, thefirst and second filters and the control module receive first, second,and third inputs, respectively, wherein the first, second, and thirdinputs are based on coefficients of the first and second filters. 34.The system of claim 33 wherein the first, second, and third inputs arebased on P samples of each of the first filtered output, the secondfiltered output, and the arm control signal, respectively, wherein the Psamples are taken after the actuator arm moves from the parked position.35. A rotating storage device comprising the system of claim 30 andfurther comprising a temperature sensor that senses a temperature of therotating storage device, wherein the first input and the first filteredoutput are based on the temperature, and wherein transfer functions ofthe first and second filters are based on the temperature.
 36. Arotating storage device comprising the system of claim 25 and furthercomprising the actuator arm, the rotating storage medium, and a drivingmodule that generates a driving current based on the arm control signaland that drives the actuator arm based on the driving current.
 37. Amethod comprising: generating an arm control signal to control a speedof an actuator arm when the actuator arm moves from a parked position toan edge of a rotating storage medium; generating a first filtered outputbased on the arm control signal using a first filter; generating asecond filtered output based on the speed of the actuator arm using asecond filter; and estimating a force to move the actuator arm based onthe first and second filtered outputs.
 38. The method of claim 37further comprising: generating an estimated force signal based on thefirst and second filtered outputs; and correcting the arm control signalbased on the estimated force signal.
 39. The method of claim 37 furthercomprising generating the arm control signal based on a differencebetween the speed and a target speed of the actuator arm.
 40. The methodof claim 37 further comprising estimating a first force when theactuator arm is in the parked position and estimating a second forcewhen the actuator arm moves at the speed, where the first force isgreater than the second force.
 41. The method of claim 38 furthercomprising: generating a first input based on a proportionaldistribution of a second input that loads the actuator arm on therotating storage medium; and generating the arm control and estimatedforce signals based on the first input when the actuator arm is in theparked position.
 42. The method of claim 41 further comprisinggenerating the first filtered output based on the first input and adirect current (DC) component of a transfer function of the firstfilter.
 43. The method of claim 37 wherein the first and second filtersinclude infinite impulse response (IIR) filters of P^(th) order, where Pis an integer greater than
 1. 44. The method of claim 43 furthercomprising: generating P samples of each of the arm control signal andthe first filtered output after the actuator arm moves from the parkedposition; and generating the first filtered output based on the Psamples.
 45. The method of claim 43 further comprising: generatingfirst, second, and third inputs based on coefficients of the first andsecond filters when the actuator arm is in the parked position; andgenerating the first filtered signal, the second filtered signal, andthe arm control signal based on the first, second, and third inputs,respectively.
 46. The method of claim 45 further comprising: generatingP samples of each of the first filtered signal, the second filteredsignal, and the arm control signal after the actuator arm moves from theparked position; and generating the first, second, and third inputsbased on the P samples of each of the first filtered signal, the secondfiltered signal, and the arm control signal, respectively.
 47. Themethod of claim 42 further comprising: sensing a temperature of arotating storage device that includes the actuator arm and the rotatingstorage medium; generating the first input and the first filtered outputbased on the temperature; and generating transfer functions of the firstand second filters based on the temperature.
 48. The method of claim 37further comprising generating a driving current based on the arm controlsignal and driving the actuator arm based on the driving current.